﻿using System;
using System.Text;
using System.Drawing;
using System.Buffers;
using System.Collections;
using System.Collections.Generic;
using System.Runtime.InteropServices;

public static partial class glDRIVE
{
    /*
    函数 gl.remz
    Remez算法
    f计算f(x)函数值的函数名。
    参数 a: 区间左端点值。
    参数 b: 区间右端点值。
    参数 p: p[n]返回n-1次最佳一致逼近多项式的系数。
    参数 n: n-1次最佳一致逼近多项式的项数。
    参数 eps: 控制精度要求。
    返回值 函数返回偏差绝对值。
    */

    public static string drive_remz()
    {
        int i;
        double a, b, eps, u;
        double[] p = new double[4];

        a = -1.0;
        b = 1.0;
        eps = 1.0e-10;

        gl.f_x = remzf;
        u = gl.remz(a, b, p, 4, eps);

        return gl.html_table("最佳一致逼近多项式系数(偏差绝对值=" + u + "):", p);
    }

    private static double remzf(double x)
    {
        return (Math.Exp(x));
    }
}